package com.fa4j.system.account.model;

import com.fa4j.common.base.model.AbstractCmd;
import com.fa4j.common.web.model.AppType;
import com.fa4j.system.login.model.LoginType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
@Schema(description = "账号绑定参数")
public class AccountBindCmd extends AbstractCmd {

    @NotNull
    @Schema(description = "应用类型")
    private AppType appType;

    @NotNull
    @Schema(description = "登录方式")
    private LoginType loginType;

    @NotNull
    @Schema(description = "三方授权码方式")
    private String thirdCode;

    @JsonIgnore
    @Schema(description = "账号ID", hidden = true)
    private Long accountId;

    @JsonIgnore
    @Schema(description = "手机号码", hidden = true)
    private String phone;

    @JsonIgnore
    @Schema(description = "是否允许注册", hidden = true)
    private boolean registerEnable = false;

}
